package org.relaxng.datatype;

/**
 * Factory class for the DatatypeLibrary class.
 * <p>
 * The datatype library should provide the implementation of this interface if
 * it wants to be found by the schema processors. The implementor also have to
 * place a file in your jar file. See the reference datatype library
 * implementation for detail.
 * 
 * @author <a href="mailto:jjc@jclark.com">James Clark</a>
 * @author <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a>
 */
public interface DatatypeLibraryFactory
{
  /**
   * Creates a new instance of a DatatypeLibrary that supports the specified
   * namespace URI.
   * 
   * @return <code>null</code> if the specified namespace URI is not supported.
   */
  DatatypeLibrary createDatatypeLibrary (String namespaceURI);
}
